package com.poizon.infrastructure.idem.core.util;

import java.util.concurrent.TimeUnit;

public interface IRepeatedSubmitUtil {
    void executeRepeatedSubmit(String operationKey, Long expireTime, Runnable serviceRunnable, Runnable repeatedRunnable, TimeUnit timeUnit);

    void executeRepeatedSubmit(String operationKey);

    void executeRepeatedSubmit(String operationKey, Long defaultExpireTime);

    void executeRepeatedSubmit(String operationKey, Long defaultExpireTime, Runnable defaultServiceRunnable);

    void executeRepeatedSubmit(String operationKey, Long defaultExpireTime, Runnable
            defaultServiceRunnable, Runnable defaultRepeatedRunnable);

    void executeRepeatedSubmit(String operationKey, Long defaultExpireTime, Runnable
            defaultServiceRunnable, TimeUnit timeUnit);
}
